<?php
namespace app\examScore\controller;
use app\common\Base;
use app\common\Excel;
use think\Db;
//--学习先进班初一
class StudyAdvancedClazzChuyi extends Base {
	
	public function index() {
		$fields = "班级,班主任,综合实力名次,综合实力得分,培优名次,培优得分,得分合计,总名次,实验班,是否学习先进班";
		$list = explode(",", $fields);
		$this->assign('list',$list);
		return $this->fetch();
	}

	public function pageQuery() {
		return $this::getResult();
	}

	public function exportExcel() {
		$result = $this::getResult();
		//excel表头内容
		$header = array('班级'=>'班级','班主任'=>'班主任','综合实力名次'=>'综合实力名次','综合实力得分'=>'综合实力得分','培优名次'=>'培优名次','培优得分'=>'培优得分','得分合计'=>'得分合计','总名次'=>'总名次','实验班'=>'实验班','是否学习先进班'=>'是否学习先进班');
		Excel::toExcel($result,'学习先进班初一',$header);
		exit;
	}

	public function getResult() {
		$examId = input("examId");
		if(!$examId) return [];
		$grade = input("grade");
		if($grade) {
			$array = explode("_", $grade);
			$grade = $array[0];
		}
		$subsql = Db::table("VIEW学习先进班初一")
				  ->field("实验班,CEILING(count(*)/2.0) as 班数半数")
				  ->where("考试ID=".$examId)
				  ->group("实验班")
				  ->buildSql();
		$result = Db::table("VIEW学习先进班初一 a")
				  ->join([$subsql=>'b'],'a.实验班=b.实验班',"LEFT")
				  ->field("班级,班主任,综合实力名次,综合实力得分,培优名次,培优得分,得分合计,总名次,a.实验班,case when 总名次<=班数半数 then '学习先进班' when a.实验班 in (1,2) and 总名次<=(班数半数 + 1) then '学习先进班' else '' end as 是否学习先进班")
				  ->where("考试ID=".$examId)
				  ->order("实验班,班级")
				  ->select();
		// $result1 = Db::table("VIEW学习先进班初一 a")
		// 		  ->join("(select 班级,SUM(case when 级排<=10 then 1 else 0 end) 前10人数,SUM(case when 级排<=100 then 1 else 0 end) 前100人数 from 成绩".$grade." where 考试ID=".$examId." and 实验班=2 group by 班级) b",'a.班级=b.班级',"INNER")
		// 		  ->field("a.班级,班主任,综合实力名次,综合实力得分,培优名次,培优得分,得分合计,总名次,a.实验班,case when (前10人数>=3 and 前100人数>=27) or a.总名次=1 then '学习先进班' else '' end as 是否学习先进班")
		// 		  ->where("考试ID=".$examId." and 实验班 = 2")
		// 		  ->order("班级")
		// 		  ->select();
		//$rc = array_merge($result,$result1);
		return selectResult($result);
	}

}
